'##############
'ZF- AS Tronic Lite 6 Speed
'##############

'Manual Gearbox


'Script Version: 1
'Omsi release: 1.01

'Needs:
'- engine
'- bremse

'Revision History:
'- Kyle Ortiz	17.01.2012	Original script based off of Automatic transmission Script; debugged gear controls
'- Kyle Ortiz	18.01.2012	Clutch Fraction recognized  
'- Kyle Ortiz	22.01.2012	Added 6th and 7th Gear to the bus 
'- Kyle Ortiz	12.02.2012	Fixed stall while in gear - no more shaking
'- Kyle Ortiz	12.11.2012	Fixed stall while in gear - no more shaking


'----------------------
'	Init
'----------------------

{trigger:kw_s_R}
	-1 (S.L.antrieb_getr_aktugang)

	
{end}

{trigger:kw_s_N}
	0 (S.L.antrieb_getr_aktugang)
{end}



{trigger:kw_s_D}
 1 (S.L.antrieb_getr_aktugang)
{end}


{macro:antrieb_init}
	1 (S.L.antrieb_getr_gangwahl) (S.L.antrieb_getr_gangvorwahl)
	1 (S.L.antrieb_getr_aktugang)
	
	0 (S.L.antrieb_wandler_moment)
{end}

'----------------------
'	Frame
'----------------------

{macro:antrieb_frame}

'Berechnen der Abtriebsdrehzahl
	(L.L.Wheel_RotationSpeed_1_L) (L.L.Wheel_RotationSpeed_1_R) + 2 / (C.L.antrieb_i_achse) * (S.L.antrieb_n_kardanwelle)

'Gang rausnehmen, wenn Neutral angefordert






'Prüfen, ob Gang gewechselt wird - aber nur, wenn Getriebe heil ist:

	(L.L.antrieb_failure_general) !
	{if}
		(M.L.antrieb_getr_chkNxtGear)
	{endif}

'Berechnung des aktuellen Motordrehmoments:

	(M.L.engine_moment)



'Berechnung des dynamischen Schaltmoments



      	(L.L.antrieb_getr_fest) !
	{if}
		(L.L.antrieb_schaltmoment) (L.S.Timegap) 1000 * + (L.L.antrieb_schaltmoment_soll) min (S.L.antrieb_schaltmoment)
	{endif}



'Fallunterscheidung, ob Getriebe reibt oder wandelt oder nicht:

	(L.L.antrieb_getr_fest)
	{if}

'#################################################################################
'	Berechnung der Beschleunigung des Antriebsstrangs (am Motorflansch)
'#################################################################################


		(L.L.n_Wheel) (L.L.antrieb_getr_ratio) * (L.L.engine_n) - 2 * pi * 60 / (L.S.Timegap) / 

'	Berechnung des Momentes am Motor durch Trägheit:

		(C.L.engine_J) * s0

'	Berechnung des vom Antriebsstrang durchgeleiteten Momentes

		l0 /-/ (L.L.engine_M) (L.L.engine_M_additional_load) - + s1


'	Wenn das Antriebsmoment zu groß ist oder ein Wandlergang eingelegt wird, rutscht die Kupplung durch:

		l1 abs (L.L.antrieb_schaltmoment) > (L.L.antrieb_getr_gangwahl) 1 <= || (L.L.antrieb_getr_aktugang) 1 = || 


		{if}

			0 (S.L.antrieb_getr_fest)

		{else}

'		Setzen des Momentes

			l1 (S.L.antrieb_getr_M_an)


'		Berechnung des Getriebeabtriebmomentes:

			(L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel)

'		Drehzahl des Motors ergibt sich aus der Getriebeabtriebswelle:

			(L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (S.L.engine_n)		
		{endif}


		0 (S.L.antrieb_wandler_moment)

	{else}

'#################################################################################
'	Bestimmen, ob Leerlauf ist...:
'#################################################################################

		(L.L.antrieb_getr_aktugang) 0 = (L.L.clutch) 0.95 > || (L.L.engine_n) 650 < || (L.L.engine_n) 850 < (L.L.throttle) 0.1 < && || (L.L.antrieb_is_clutch) 0.95 > || 

		{if}

'		... Antriebs- und Getriebeantriebsmoment sind 0:
			0 (S.L.M_Wheel) (S.L.antrieb_getr_M_an)

			(M.L.engine_acceleration)
			0 (S.L.antrieb_wandler_moment)

'			Wenn Neutralgang beim Bremsen eingelegt wird
			(L.L.antrieb_getr_gangwahl) 1 =
			{if}
				0 (S.L.antrieb_retarder_wasrunning) (S.L.antrieb_gear_engaged_timer)
			{endif}

		{else}

'#################################################################################
'		Bestimmen, ob ein Wandlergang eingelegt ist...:
'#################################################################################


		


'			Berechnung der Drehzahldifferenz:

				(L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (L.L.engine_n) - s0



'			An dieser Stelle muss ggf. noch das unterschiedliche Kupplungsmoment eingesetzt werden:

				l0 0 <
				{if}
					(L.L.antrieb_schaltmoment) 
				{else}
					(L.L.antrieb_schaltmoment) /-/
				{endif}
				(S.L.antrieb_getr_M_an)
				(L.L.antrieb_getr_ratio) *
				(C.L.gear_efficiency) * (S.L.M_Wheel)

				(M.L.engine_acceleration)

'			Prüfen, ob sich das Vorzeichen der Drehzahldifferenz umgekehrt hat:

				(L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (L.L.engine_n) - l0 * 0 <= 
				{if}
					(L.L.antrieb_getr_ratio) (L.L.n_Wheel) * (S.L.engine_n)
					(L.L.n_Wheel) (L.L.antrieb_getr_ratio) * (L.L.engine_n) - 2 * pi * 60 / (L.S.Timegap) / 

'					Berechnung des Momentes am Motor durch Trägheit:

					(C.L.engine_J) * s0

'					Berechnung des vom Antriebsstrang durchgeleiteten Momentes

					l0 /-/ (L.L.engine_M) (L.L.engine_M_additional_load) - + (S.L.antrieb_getr_M_an)


'					Berechnung des Getriebeabtriebmomentes:

					(L.L.antrieb_getr_M_an) abs (L.L.antrieb_schaltmoment) abs <
					{if}
						(L.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel)
						1 (S.L.antrieb_getr_fest)
						(C.L.antrieb_kuppl_M_up_max)  (S.L.antrieb_schaltmoment)
					{else}
						(L.L.antrieb_schaltmoment) /-/ (S.L.antrieb_getr_M_an) (L.L.antrieb_getr_ratio) * (C.L.gear_efficiency) * (S.L.M_Wheel)
					{endif}
					




			{endif}
		{endif}

	{endif}



{end}



'#################################################################################
'	Bestimmung der Schaltgeschwindigkeiten
'#################################################################################

{macro:antrieb_getr_chkNxtGear}

'	Höchster Gang: s0!

'	Verzögerung der Kickdown-Schaltung:

	(L.L.throttle) 1 =
	{if}
		(L.L.antrieb_kickdown_stellglied) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_kickdown_stellglied)
		1 =
		{if}
			1 (S.L.antrieb_kickdown)
		{endif}
	{else}
		(L.L.antrieb_kickdown_stellglied) (L.S.Timegap) 1 * - 0 max (S.L.antrieb_kickdown_stellglied)
		0 =
		{if}
			0 (S.L.antrieb_kickdown)
		{endif}
	{endif}

'	Verzögerung der gaspedalabhängigen Schaltschwelle:

	
	(L.L.throttle) (L.L.antrieb_throttle_stellglied) >
	{if}
		(L.L.antrieb_throttle_stellglied) (L.S.Timegap) 1 * + (L.L.throttle) min (S.L.antrieb_throttle_stellglied)
	{else}
		(L.L.antrieb_throttle_stellglied) (L.S.Timegap) 0.5 * - (L.L.throttle) max (S.L.antrieb_throttle_stellglied)
	{endif}
	
'	Berechnen der aktuellen Beschleunigung:
	
	(L.L.Velocity) (L.L.antrieb_last_geschwindigkeit) - 3.6 / (L.S.Timegap) / (S.L.antrieb_beschleunigung)
	(L.L.Velocity) (S.L.antrieb_last_geschwindigkeit)
	
	
	
'#################################################################################
'	Retarder Ãèäðîçàìåäëèòåëü
'#################################################################################


	(L.L.brake) 0.01 >
	(L.L.Throttle) 0.1 < &&
	{if}	


	(L.L.antrieb_n_kardanwelle) (F.L.retarder_stufe1) 0.7 * (C.L.antrieb_i_achse) /-/ * (L.L.antrieb_retarder_time_elapsed) (F.L.retarder_fadein) * (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel) 

	{else}
'		Ausfaden der Retarder-Bremsstärke Èñòå÷åíèå òîðìîçíîãî ïóòè
		(L.L.antrieb_retardermoment) (L.S.Timegap) 10000 * + 0 min (S.L.antrieb_retardermoment) (L.L.M_Wheel) + (S.L.M_Wheel)
		(L.L.antrieb_retarder_volume) (L.S.Timegap) 2 * - 0 max (S.L.antrieb_retarder_volume) s0
		l0 0 =
		{if}
			0 (S.L.antrieb_wendesatz)
		{endif}
	
	{endif}




		   
		 (L.L.antrieb_is_clutch) (F.L.clutch_friction) (C.L.antrieb_kuppl_M_up_max) *  s6  s7
		(M.L.antrieb_getr_schaltmoment) (S.L.antrieb_schaltmoment_soll)	(S.L.antrieb_schaltmoment)
	
		

				

			(L.L.antrieb_getr_aktugang) s1

			1 =
			{if}
				(C.L.antrieb_getr_ratio1) (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)

				

				

				   	365  s4
					365  s3     				
									
					(M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) < (L.L.MODE_switch) ! && (L.L.gear_is_ready_toshift) (L.L.MODE_switch) && || 
				 {if}
					1 (S.L.gearchange_up1)
					 
					
				 {endif}


			     		(L.L.gearchange_up) 
					  {if}
					      (L.L.gearchange_up) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up)

					   {endif}

				 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 800 < 
				{if}	   
						   
					(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
					
					
				{else}
						(L.L.gearchange_up1) !
						{if}
							(L.L.antrieb_is_clutch) (L.S.Timegap) 0.3 * - 0  max  (S.L.antrieb_is_clutch)
						 {else}

							  (L.L.engine_M) 0 <  
							  {if}
							   (L.L.antrieb_is_clutch) (L.S.Timegap) 4 * + 1 min (S.L.antrieb_is_clutch)
							   {endif}
						 {endif}
				{endif}
				  



				 (L.L.gearchange_up1) (L.L.antrieb_is_clutch) 0.5 > &&  
				{if}
					0 (S.L.antrieb_is_downshift)
			

					(M.L.antrieb_throttlelimitor)
					2 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_kickdown_sense) (S.L.gear_is_ready)  
					1 (S.L.antrieb_is_clutch)
					(T.L.ev_gear_upshift1)
					
				{else}
					(L.L.gearchange_up) (L.L.gearchange_up1) (L.L.antrieb_is_clutch) 0.1 > && ||
				       {if}


					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						120 (S.L.Torque_Governor_set)
				       {endif}
				
				{endif}



					

				
			{endif}

			l1 -1 =
			{if}
				(C.L.antrieb_getr_ratioR) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)
	       			(L.L.engine_throttle_injection) 0.6 min (S.L.engine_throttle_injection)	
				 

			{endif}

			l1 2 =
			{if}
				(C.L.antrieb_getr_ratio2)  (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)

				       	631.11111111111111111111111111111  s4
					631.11111111111111111111111111111  s3  
					
					 (L.L.gear_is_ready) (L.S.Timegap) 2 * + 1 min (S.L.gear_is_ready)
					
					    (L.L.gearchange_up1)  
					  {if}
					      (L.L.gearchange_up1) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up1)
					       
					   {endif}

				(M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) <  < (L.L.MODE_switch) ! && (L.L.gear_is_ready_toshift) (L.L.MODE_switch) && ||  
				 {if}
					1 (S.L.gearchange_up)
					
					
				 {endif}


				 (L.L.gearchange_up1) !
				 {if}
					 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 750 < 
					{if}	   
							   
						(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
						
						
					{else}
							(L.L.gearchange_up) !
							{if}
								(L.L.antrieb_is_clutch) (L.S.Timegap) 1 * - 0  max  (S.L.antrieb_is_clutch)
							 {else}
								   (L.L.antrieb_is_clutch) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_is_clutch)


								   
							 {endif}
					{endif}

					

				{else}

				(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
			
				{endif}
				  



				  (L.L.gearchange_up) 1 = (L.L.antrieb_is_clutch) 0.5 > &&  (L.L.antrieb_kickdown_sense) 0.5 > && (L.L.engine_M) 0 < && 
				{if}
					0 (S.L.antrieb_is_downshift)
					(M.L.antrieb_throttlelimitor)
					3 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_kickdown_sense)
					
					(T.L.ev_gear_upshift1)
					
				{else}
					(L.L.gearchange_up) (L.L.antrieb_is_clutch) 0.2 > && (L.L.gearchange_up1) || 
				       {if}
					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						700 (S.L.Torque_Governor_set)
				       {endif}
				
				{endif}


						158  s4 s3 
				
				    (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >  (L.L.MODE_switch) ! && 
				 {if}
					1 (S.L.antrieb_getr_aktugang)
					
					
				 {endif}

			(M.L.timeingear)	
				
			{endif}
			l1 3 =
			{if}
				(C.L.antrieb_getr_ratio3)  (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


				       	990.11111111111111111111111111111  s4
					990.11111111111111111111111111111  s3  
					
					(L.L.gearchange_up) 
					  {if}
					      (L.L.gearchange_up) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up)
					        (L.L.gear_is_ready) (L.S.Timegap) 2 * - 1 max (S.L.gear_is_ready)
					   {endif}


				(M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) <  < (L.L.MODE_switch) ! && (L.L.gear_is_ready_toshift) (L.L.MODE_switch) && || 
				 {if}
					1 (S.L.gearchange_up1)
					
					
				 {endif}

				 (L.L.gearchange_up) !
				 {if}
					 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 750 < 
					{if}	   
							   
						(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
						
						
					{else}
							(L.L.gearchange_up1) ! 
							{if}
								(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
							 {else}
								   (L.L.antrieb_is_clutch) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_is_clutch)


								   
							 {endif}
					{endif}


					{else}
					(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
				{endif}  



				  (L.L.gearchange_up1) 1 = (L.L.antrieb_is_clutch) 0.5 > && (L.L.engine_M) 0 < && 
				{if}
					0 (S.L.antrieb_is_downshift)
					(M.L.antrieb_throttlelimitor)
					4 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_kickdown_sense)
					
					(T.L.ev_gear_upshift1)
					
				{else}
					(L.L.gearchange_up) (L.L.gearchange_up1) ||
				       {if}
					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						0 (S.L.Torque_Governor_set)
				       {endif}
				
				{endif}


				400  s4 s3 
				
				    (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >  (L.L.MODE_switch) ! &&
				 {if}
					2 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_schaltmoment) 

					1 (S.L.antrieb_is_clutch)
					
				 {endif}

				(M.L.timeingear)
			{endif}

			l1 4 =
			{if}
				(C.L.antrieb_getr_ratio4)  (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


				   	1550.11111111111111111111111111111  s4
					1550.11111111111111111111111111111  s3  
			       	
					    (L.L.gearchange_up1)
					  {if}
					      (L.L.gearchange_up1) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up1)

					   {endif}

				(M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) <  < (L.L.MODE_switch) ! && (L.L.gear_is_ready_toshift) (L.L.MODE_switch) && ||   
				 {if}
					1 (S.L.gearchange_up)
					
					
				 {endif}

				 (L.L.gearchange_up1) !
				 {if}
					 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 750 < 
					{if}	   
							   
						(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
						
						
					{else}
							(L.L.gearchange_up) !
							{if}
								(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
							 {else}
								   (L.L.antrieb_is_clutch) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_is_clutch)


								   
							 {endif}
					{endif}

				{else}
					(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
				{endif}
				  



				  (L.L.gearchange_up) 1 = (L.L.antrieb_is_clutch) 1 = && 
				{if}
					0 (S.L.antrieb_is_downshift)
					(M.L.antrieb_throttlelimitor)
					5 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_kickdown_sense)
					
					(T.L.ev_gear_upshift1)
					
				{else}
					(L.L.gearchange_up) (L.L.gearchange_up1) ||
				       {if}
					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						0 (S.L.Torque_Governor_set)
				       {endif}
				
				{endif}


				
				791  s4 s3 
				
				    (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >  (L.L.MODE_switch) ! && 
				 {if}
					3 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_schaltmoment)
					1 (S.L.antrieb_is_clutch)
					
				 {endif}

			(M.L.timeingear)
			{endif}

			l1 5 =
			{if}
				(C.L.antrieb_getr_ratio5)  (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)



								2100  s4
					2100  s3  
			       	
					    (L.L.gearchange_up)
					  {if}
					      (L.L.gearchange_up) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up)

					   {endif}

				(M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) <  < (L.L.MODE_switch) ! && (L.L.gear_is_ready_toshift) (L.L.MODE_switch) && ||  
				 {if}
					1 (S.L.gearchange_up1)
					
					
				 {endif}

				 (L.L.gearchange_up) !
				 {if}
				 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 750 < 
				{if}	   
						   
					(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
					
					
				{else}
						(L.L.gearchange_up1) ! 
						{if}
							(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
						 {else}
							   (L.L.antrieb_is_clutch) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_is_clutch)


							   
						 {endif}
				{endif}
				{endif}  



				  (L.L.gearchange_up1) 1 = (L.L.antrieb_is_clutch) 1 = && 
				{if}
					0 (S.L.antrieb_is_downshift)
					(M.L.antrieb_throttlelimitor)
					6 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_kickdown_sense)
					
					(T.L.ev_gear_upshift1)
					
				{else}
					(L.L.gearchange_up) (L.L.gearchange_up1) ||
				       {if}
					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						0 (S.L.Torque_Governor_set)
				       {endif}
				
				{endif}


				1110  s4 s3 
				
				    (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >  (L.L.MODE_switch) ! &&
				 {if}
					4 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_schaltmoment)
					1 (S.L.antrieb_is_clutch)
					
				 {endif}

				(M.L.timeingear)

			{endif}

			l1 6 =
			{if}
				(C.L.antrieb_getr_ratio6)  (S.L.antrieb_current_ratio) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


					    (L.L.gearchange_up1)
					  {if}
					      (L.L.gearchange_up1) (L.S.Timegap) 2 * - 0 max (S.L.gearchange_up1)

					   {endif}



				 (L.L.antrieb_current_ratio) (L.L.antrieb_n_kardanwelle) * 750 < 
				{if}	   
						   
					(L.L.engine_n) (F.L.clutch_friction_2) (S.L.antrieb_is_clutch)
					
					
				{else}
						(L.L.gearchange_up) !
						{if}
							(L.L.antrieb_is_clutch) (L.S.Timegap) 2 * - 0  max  (S.L.antrieb_is_clutch)
						 {else}
							   (L.L.antrieb_is_clutch) (L.S.Timegap) 2 * + 1 min (S.L.antrieb_is_clutch)


							   
						 {endif}


							{else}
					(L.L.antrieb_is_clutch) (L.S.Timegap) 4 * - 0  max  (S.L.antrieb_is_clutch)
				{endif}
				  



				
					(L.L.gearchange_up) (L.L.gearchange_up1) ||
				       {if}
					(M.L.antrieb_throttlelimitor)

					
					
						{else}
						 1 (S.L.throttle_active)
						0 (S.L.Torque_Governor_set)
				       {endif}


				   	1410  s4 s3 
				
				    (M.L.antrieb_getr_chkCh) (L.L.antrieb_n_kardanwelle) >  (L.L.MODE_switch) ! && 
				 {if}
					5 (S.L.antrieb_getr_aktugang)
					0 (S.L.antrieb_schaltmoment) 
					1 (S.L.antrieb_is_clutch)
					
				 {endif}

			(M.L.timeingear)
			{endif}


			l1 7 =
			{if}
				(C.L.antrieb_getr_ratio7) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


			{endif}


			l1 8 =
			{if}
				(C.L.antrieb_getr_ratio8) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


			{endif}


			l1 9 =
			{if}
				(C.L.antrieb_getr_ratio9) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


			{endif}

			l1 10 =
			{if}
				(C.L.antrieb_getr_ratio10) (C.L.antrieb_i_achse) * (S.L.antrieb_getr_ratio)


			{endif}




	{endif}
	{endif}


'	Testweise: Differenzialdrehzahlpfeifen

	(L.L.engine_n) (L.L.antrieb_n_kardanwelle) 2 * - (S.L.antrieb_n_differenz)





{end}

{macro:antrieb_getr_chkCh}
'	Berechnung der aktuellen Hochschaltschwelle: (l3 = bei Vollgas, l4 = bei Leergas)
	(L.L.antrieb_throttle_stellglied) s2 l3 * 1 l2 - l4 * +
{end}

{macro:antrieb_getr_schaltmoment}
'	Berechnung des Schaltmomentes (l6 = bei Vollgas, l7 = bei Leergas)
	(L.L.antrieb_throttle_stellglied) s5 l6 * 1 l5 - l7 * +
{end}


{macro:antrieb_throttlelimitor}
	 0 (S.L.throttle_active)
0 (S.L.antrieb_is_gearchange) (S.L.gear_is_ready_toshift)
{end}


{macro:timeingear}
(L.L.antrieb_kickdown_sense) (L.S.Timegap) 1 * + 2 min (S.L.antrieb_kickdown_sense)


		   (L.L.throttle) !
		   {if}
		      (L.L.gearchange_up1) (L.S.Timegap) 4 * - 0 max (S.L.gearchange_up1)
		         (L.L.gearchange_up) (L.S.Timegap) 4 * - 0 max (S.L.gearchange_up)
		   {endif}
{end}


    









